Rabbit Chaos API Roadmap
- Rewrite Protocol Fault experiment
- Write proper handling for missed protocol frame
- Implement Message Store Chaos
- input/output (I/O) bandwidth exhaustion — slow writes and reads
- I/O fault — message write errors
- Implement
vhostfiltering - Implement ongoing experiments feature.
- Experiments that run for a certain time
- Have an application programming interface (API) to list ongoing experiments
- Support experiments for cluster mode
Message Store Notes:
One way to do so is overriding behavior of queue persistency. We would need to override behavior in both msg_store and classic_queue_store_v2 since the persistency mechanism changes due to message sizes.
This approach seems hacky and error-prone. A safer direction may be for the Chaos API to use extended Berkeley Packet Filter (eBPF) to observe or inject file-I/O behavior at the kernel boundary.
https://github.com/iovisor/bcc/blob/master/tools/filetop.py
https://github.com/iovisor/bcc?tab=readme-ov-file
https://github.com/oskardrums/ebpf
kernel function might have changed to kernel_write
Share: